首页 > 试题广场 >

计算日期到天数转换

[编程题]计算日期到天数转换
  • 热度指数:161846 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
根据输入的日期,计算是这一年的第几天。
保证年份为4位数且日期合法。
进阶:时间复杂度:,空间复杂度:

输入描述:

输入一行,每行空格分割,分别是年,月,日



输出描述:
输出是这一年的第几天
示例1

输入

2012 12 31

输出

366
示例2

输入

1982 3 4

输出

63
while(line = await readline()){
        line = line.split(" ");
        var year = line[0];
        line = line.join("-");
        var day = (new Date(line).getTime() - new Date(year+"-01-01")) / 1000 /60/60/24 + 1;
        console.log(day)
    }

发表于 2023-10-05 17:25:57 回复(0)
function func(line) {
  // 保证年份为4位数且日期合法
  if(!/^\d{4}(\s\d{1,2}){2}$/.test(line)){
    throw new Error('输入值错误');
  }
  // 分别提取年月日
  const [year, month, day] = line.split(" ");
  // 计算当天的毫秒数和当年第一天的毫秒数
  const start = new Date(year, 0, 0).getTime();
  const end = new Date(year, month - 1, day).getTime();
  // 取差值,再将毫秒数转化为天数
  console.log((end - start) / (1000 * 60 * 60 * 24));
}
while ((line = readline())) {
  func(line);
}

发表于 2022-06-12 21:11:09 回复(0)
let line = readline()
arr = line.split(' ')
const year = Number(arr[0])
const moon = Number(arr[1])
const day = Number(arr[2])
let map = {
    '1':31,
    '2':28,
    '3':31,
    '4':30,
    '5':31,
    '6':30,
    '7':31,
    '8':31,
    '9':30,
    '10':31,
    '11':30,
    '12':31
}
// 判断闰年
if(year%4===0 && year%100 !==0) {
    map['2'] = 29
}
let count = 0
for(let i=1; i<= moon; i++) {
    if(i===moon) {
        count += day
    }
    else {
        count += map[i.toString()]
    }
}
console.log(count)
发表于 2021-07-16 17:05:32 回复(0)

问题信息

难度:
3条回答 31890浏览

热门推荐

通过挑战的用户

查看代码